home *** CD-ROM | disk | FTP | other *** search
/ Robotics & Artificial Int…3 (Professional Edition) / Robotics & Artificial Intelligence Tools 2003 (Professional Edition).iso / robot software / webots-kros-1.0.1_setup.exe / {app} / kteam / include / sys / config.h < prev    next >
C/C++ Source or Header  |  1999-12-23  |  2KB  |  116 lines

  1. #ifndef __SYS_CONFIG_H__
  2. #define __SYS_CONFIG_H__
  3.  
  4. /* exceptions first */
  5. /* ??? Why is much of this stuff duplicated with machine/ieeefp.h?  */
  6. #if defined(__H8300__) || defined(__H8500__) || defined (__H8300H__) ||  defined(__W65__) || defined (__H8300S__)
  7. #define _FLOAT_ARG float
  8. #define __SMALL_BITFIELDS
  9. #define _DOUBLE_IS_32BITS
  10. #define __IEEE_BIG_ENDIAN
  11. /* ???  This conditional is true for the h8500 and the w65, defining H8300
  12.    in those cases probably isn't the right thing to do.  */
  13. #define H8300 1
  14. #endif
  15.  
  16. #ifdef __W65__
  17. #define _DOUBLE_IS_32BITS
  18. #define __SMALL_BITFIELDS
  19. #define __IEEE_BIG_ENDIAN
  20. #undef INT_MAX
  21. #undef UINT_MAX
  22. #define INT_MAX 32767
  23. #define UINT_MAX 65535
  24.  
  25. #endif
  26.  
  27. /* 16 bit integer machines */
  28. #if defined(__Z8001__) || defined(__Z8002__) || defined(__H8300__) || defined(__H8500__) || defined(__W65__) || defined (__H8300H__) || defined (__H8300S__) || defined (__mn10200__)
  29.  
  30. #undef INT_MAX
  31. #undef UINT_MAX
  32. #define INT_MAX 32767
  33. #define UINT_MAX 65535
  34. #endif
  35.  
  36. #if defined(__D10V__)
  37. #undef INT_MAX
  38. #undef UINT_MAX
  39. #define INT_MAX __INT_MAX__
  40. #define UINT_MAX (__INT_MAX__ * 2U + 1)
  41. #define _DOUBLE_IS_32BITS
  42. #define _POINTER_INT short
  43. #define __IEEE_BIG_ENDIAN
  44. #endif
  45.  
  46. #ifdef ___AM29K__
  47. #define _FLOAT_RET double
  48. #endif
  49.  
  50. #ifdef __i386__
  51. #ifndef __unix__
  52. /* in other words, go32 */
  53. #define _FLOAT_RET double
  54. #endif
  55. #endif
  56.  
  57. #ifdef __M32R__
  58. #define __IEEE_BIG_ENDIAN
  59. #endif
  60.  
  61. #ifdef __m68k__
  62. /* This is defined in machine/ieeefp.h; need to check is it redundant here? */
  63. #define __IEEE_BIG_ENDIAN
  64. #endif
  65.  
  66. #ifdef __mn10300__
  67. #define __IEEE_LITTLE_ENDIAN
  68. #endif
  69.  
  70. #ifdef __mn10200__
  71. #define _DOUBLE_IS_32BITS
  72. #define __SMALL_BITFIELDS
  73. #define __IEEE_LITTLE_ENDIAN
  74. #endif
  75.  
  76. #ifdef __TIC80__
  77. #define __IEEE_LITTLE_ENDIAN
  78. #endif
  79.  
  80. #ifdef __v850
  81. #define __IEEE_LITTLE_ENDIAN
  82. #define __ATTRIBUTE_IMPURE_PTR__ __attribute__((__sda__))
  83. #endif
  84.  
  85. #ifdef __D30V__
  86. #define __IEEE_BIG_ENDIAN
  87. #endif
  88.  
  89. /* For the PowerPC eabi, force the _impure_ptr to be in .sdata */
  90. #if defined(__PPC__) && defined(_CALL_SYSV)
  91. #define __ATTRIBUTE_IMPURE_PTR__ __attribute__((__section__(".sdata")))
  92. #endif
  93.  
  94. #ifdef __sparc__
  95. #ifdef __LITTLE_ENDIAN_DATA__
  96. #define __IEEE_LITTLE_ENDIAN
  97. #else
  98. #define __IEEE_BIG_ENDIAN
  99. #endif
  100. #endif
  101.  
  102. #if INT_MAX == 32767
  103. typedef long int __int32_t;
  104. typedef unsigned long int __uint32_t;
  105. #else
  106. typedef int __int32_t;
  107. typedef unsigned int __uint32_t;
  108. #endif
  109.  
  110. #ifndef _POINTER_INT
  111. #define _POINTER_INT long
  112. #endif
  113.  
  114.  
  115. #endif /* __SYS_CONFIG_H__ */
  116.